﻿/*MyPhotoIndex Free Photo Organizer <www.myphotoindex.com>
  Copyright (C) <2006-2010>  <Asaf Yarkoni asaf@yarkoni.net>

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>.*/
using System;
using System.Collections.Generic;
using System.Text;
using MyPhotoIndex.Interfaces.Plugins;
using MyPhotoIndex.Plugins.Utilities.FindMissingFiles.Properties;
using MyPhotoIndex.ImageBank;
using System.Collections.ObjectModel;
using MyPhotoIndex.Interfaces;

namespace MyPhotoIndex.Plugins.Utilities.FindMissingFiles
{
    public class FindMissingFilesPlugin : IUtilityPlugin
    {
        #region IUtilityPlugin Members

        public void ImageSelectionChanged(ReadOnlyCollection<int> selectedImages, SelectedImageInfo lastSelected)
        {
             
        }

        public void RegisterMenues(List<IPluginMenuInfo> pluginMenuInfoList)
        {
            PluginMenuInfo menuInfo = new PluginMenuInfo();
            menuInfo.MenuItemId = Guid.NewGuid();
            menuInfo.Name = "Find Missing Image Files";
            menuInfo.Icon = Resources.missingFile;
            menuInfo.MenuItemClick += new EventHandler<PluginMenuClickEventArgs>(menuInfo_MenuItemClick);

            pluginMenuInfoList.Add(menuInfo);
        }

        void menuInfo_MenuItemClick(object sender, PluginMenuClickEventArgs e)
        {
            FindMissingFilesQueryParameter param = new FindMissingFilesQueryParameter();
            param.ParameterData = MyPhotoIndex.Interfaces.Imaging.ImageLinkStatus.Invalid;
            param.Operation= MyPhotoIndex.ImageBank.Query.QueryParameterOperation.Equal;
            Storage.Instance.Filter(param);
        }

        #endregion

        #region IPlugin Members

        public string Description
        {
            get { return "Find missing image files"; }
        }

        public bool Load(MyPhotoIndex.Interfaces.IApplicationContext applicationContext)
        {
            return true;
        }

        public string Name
        {
            get { return "Find missing image files"; }
        }

        public void Unload()
        {
            
        }

        #endregion
    }
}
